perm filename SETQUE.NEW[1,JRA] blob sn#022406 filedate 1973-02-01 generic text, type T, neo UTF8
00100	
00150	(SETQ STFLG NIL)
00200	
00300	(DEFPROP NAME 
00400	 (NIL NAME TRY1 STFLG >IVAR< OUTIT QUERY SETQUERY2) 
00500	VALUE)
00600	
00700	(DEFPROP TRY1 
00800	 (LAMBDA(L)
00900	  (PROG (FILENAM PRNO POTZTBL NEWNAME TBL TIME1 Z Z2 AXNO)
01000		(SETQ PRNO 0)
01100	   T2   (COND ((NULL L) (SETQ FILENAM (QUOTE (P R F))) (GO P3)))
01200		(SETQ Z (CAR (LAST L)))
01300		(SETQ FILENAM (EXPLODE (COND ((ATOM Z) Z) (T (CAR Z)))))
01400		(EVAL (CONS (QUOTE INPUT) L))
01500		(INC T)
01600	   P3 B (SETQ Z2 (INCLAUSES))
01700		(INC NIL)
01800		(COND ((NULL Z2) (RETURN NIL)))
01900		(SETQ TIME1 (DIFFERENCE (TIME) (GCTIME)))
02000		(SETQ Z2 (ATTEMPT Z2 NIL NIL))
02100	   A    (COND ((OR (NULL Z2) (EQ (CAR Z2) (QUOTE QED))) (RETURN (QUOTE *)))
02200		      ((EQ (CAR Z2) (QUOTE NOPROOF)) (SETQ Z2 (ATTEMPT (INITIALAX1 (CADR Z2)) (CDDR Z2) NIL)))
02300		      ((EQ (CAR Z2) (QUOTE ABORT))
02400		       (SETQ Z2 (ATTEMPT (INITIALAX1 (APPEND (CADR Z2) (CDDR Z2))) NIL NIL))))
02500		(GO A))) 
02600	FEXPR)
02700	
02800	(DEFPROP >IVAR< 
02900	 (LAMBDA(%N)
03000	  (OUTRUL %N
03100		  (FUNCTION
03200		   (LAMBDA NIL
03300		    (COND ((NUMBERP (STK1)) (COND (STFLG (STK1)) (T (CDR (ASSOC (STK1) OUTVAR)))))
03400			  ((EQ (STK1) (QUOTE LENGTH)) LENGTH)
03500			  ((EQ (STK1) (QUOTE DEPTH)) DEPTH)))))) 
03600	EXPR)
03700	
03800	(DEFPROP OUTIT 
03900	 (LAMBDA (XYZ) (PROG (STFLG) (SETQ STFLG T) (OUT >ST< XYZ))) 
04000	EXPR)
04100	
04200	(DEFPROP QUERY 
04300	 (LAMBDA NIL
04400	  (PROG NIL
04500		(PRINT (QUOTE CHOICE-STRATEGY-IS:))
04600		(OUTIT SAVESTR)
04700		(PRINT (QUOTE EDIT-STRATEGY-IS:))
04800		(OUTIT (CAR (LAST EDITSTRAT)))
04900		(PRINT (QUOTE ELAPSED-TIME))
05000		(PRINC (QUOTE =))
05100		(PRINC (TIMEIT))
05200		(RETURN (TERPRI)))) 
05300	EXPR)
05400	
05500	(DEFPROP SETQUERY2 
05600	 (LAMBDA(XX YY FLG)
05700	  (PROG (XYZ1 N
05800	 	      CHAN
05900	 	      Z
06000	 	      Z1
06100	 	      Z3
06200	 	      SUPPORT
06300	 	      EDITSTRAT
06400	 	      MERGE
06500	 	      ORDER
06600	 	      DEBUG
06700	 	      DEPTH
06800	 	      LENGTH
06900	 	      ANCESTRY
07000	 	      STRATEGY
07100	 	      PMODEL
07200	 	      NMODEL
07300	 	      PFLG
07400	 	      PDEPTH
07500	 	      DLIST)
07600		(SETQ CHAN (OUTC NIL NIL))
07700		(SETQ PFLG T)
07800		(COND (FLG (UPDATESTATE YY)))
07900		(SETQ XYZ1 XX)
08000		(COND ((NULL FLG) (GO SRA1)) ((NULL (CAR XX)) (SETQ XYZ1 (CDR XYZ1)) (GO SRA)))
08100		(PRINT SETQMESS)
08200		(SETQ XX (UPDATE XX))
08300		(SETQ XYZ1 XX)
08400	   SRA1 (COND ((NULL (CAR XX)) (SETQ XYZ1 (CDR XYZ1)) (GO SRA)))
08500		(PRINT (QUOTE HERE-ARE-THE-CLAUSES:))
08600		(SETQ N 1)
08700	   AA   (CLAUSES XX)
08800	   SRA  (COND ((AND AUTO (NULL FLG)) (SETQ Z (AUTO XYZ1)) (OUTC CHAN NIL) (RETURN Z))
08900		      (AUTO (PRINT (QUOTE (STILL-AUTO (Y / N))))
09000			    (COND
09100			     ((EQ (READ) (QUOTE Y)) (SETQ Z (CONS XYZ1 (AUTO XYZ1))) (OUTC CHAN NIL) (RETURN Z)))))
09200	   SR2A (PRINT (QUOTE THE-FOLLOWING-BUILTIN-STRATEGIES-ARE-AVAILABLE:))
09300		(PRINT
09400		 (QUOTE "ANCESTRY VINE UNIT MODEL[POS ; NEG] DEFMODEL[NAME] P1 P2 
09500	  SUPPORT[#,..] EQUALITY[ID,#] "))
09600		(PRINT (QUOTE CHOICE-STRATEGY-IS:))
09700		(COND
09800		 (FLG (OUTIT SAVESTR)
09900		      (PRINT (QUOTE DO-YOU-WANT-TO-CHANGE-IT))
10000		      (SETQ Z (READ))
10100		      (COND ((EQ Z (QUOTE N)) (GO SRB)))))
10200		(SCANSET)
10300		(START)
10400		(SETQ Z (ERRSET (<ST>) T))
10500		(SCANRESET)
10600		(COND ((OR (NULL Z) (NULL (CAR Z))) (PRINT (QUOTE SCREWED-STRATEGY)) (GO SR2A)))
10700		(SETQ ZIN (TOP))
10800		(SETQ STRATEGY (BUILTCH ZIN))
10900		(OUTIT ZIN)
11000		(SETQ SAVESTR ZIN)
11100	   SRB  (SETQ DEBUG T)
11200	   SRAA (PRINT (QUOTE EDIT-STRATEGY-IS:))
11300		(COND
11400		 (FLG (OUTIT (CAR (LAST EDITSTRAT)))
11500		      (PRINT (QUOTE DO-YOU-WANT-TO-CHANGE-IT))
11600		      (SETQ Z (READ))
11700		      (COND ((EQ Z (QUOTE N)) (GO SRCA)))))
11800		(SCANSET)
11900		(START)
12000		(SETQ Z1 (ERRSET (<ST>) T))
12100		(SCANRESET)
12200		(COND ((OR (NULL Z1) (NULL (CAR Z1))) (PRINT (QUOTE SCREWED-EDIT-STRATEGY)) (GO SRAA)))
12300		(SETQ ZIN (TOP))
12400		(SETQ EDITSTRAT (BUILTED ZIN))
12500		(OUTIT ZIN)
12600	   SCRA (SETQ UFLG T)
12700		(SETQ Z1
12800		      (LIST STRATEGY
12900	 		    SUPPORT
13000	 		    EDITSTRAT
13100	 		    MERGE
13200	 		    ORDER
13300	 		    DEBUG
13400	 		    DEPTH
13500	 		    LENGTH
13600	 		    ANCESTRY
13700	 		    PMODEL
13800	 		    NMODEL
13900	 		    PFLG
14000	 		    EQUAL
14100	 		    PDEPTH
14200	 		    DLIST))
14300		(OUTC CHAN NIL)
14400		(COND (FLG (RETURN (CONS XYZ1 Z1))) (T (RETURN Z1))))) 
14500	EXPR)